Page Cache Management in Virtual Environments
نویسندگان
چکیده
i Declaration I, Prateek Sharma, declare that this written submission represents my ideas in my own words and where others' ideas or words have been included, I have adequately cited and referenced the original sources. I also declare that I have adhered to all principles of academic honesty and integrity and have not misrepresented or fabricated or falsified any idea/data/fact/source in my submission. I understand that any violation of the above will be cause for disciplinary action by the Institute and can also evoke penal action from the sources which have thus not been properly cited or from whom proper permission has not been taken when needed. Signature Name of Student Roll number Date ii We investigate memory-management in hypervisors and propose Singleton, a KVM-based system-wide page deduplication solution to increase memory usage efficiency. We address the problem of double-caching that occurs in KVM—the same disk blocks are cached at both the host(hypervisor) and the guest(VM) page caches. Singleton's main components are identical-page sharing across guest virtual machines and an implementation of an exclusive-cache for the host and guest page cache hierarchy. We use and improve KSM–Kernel SamePage Merging to identify and share pages across guest virtual machines. We utilize guest memory-snapshots to scrub the host page cache and maintain a single copy of a page across the host and the guests. Singleton operates on a completely black-box assumption—we do not modify the guest or assume anything about its behaviour. We show that conventional operating system cache management techniques are sub-optimal for virtual environments, and how Singleton supplements and improves the existing Linux kernel memory-management mechanisms. Singleton is able to improve the utilization of the host cache by reducing its size(by upto an order of magnitude), and increasing the cache-hit ratio(by factor of 2x). This translates into better VM perfor-mance(40% faster I/O). Singleton's unified page deduplication and host cache scrubbing is able to reclaim large amounts of memory and facilitates higher levels of memory over-commitment. The optimizations to page deduplication we have implemented keep the overhead down to less than 20% CPU utilization. we argue that second-level page-cache allocation to Virtual Machines plays an important role in determining the performance, isolation, and Quality-of-Serice of Virtual Machines. The second-level cache is a contended resource, and also competes with the memory allocated to the Virtual Machines themselves. We show that the phenomenon of swapping-while-caching is particularly detrimental to VM performance. Our solution …
منابع مشابه
Data Management for Visualizing Large Virtual Environments
Effective data management is crucial for interactive multimedia applications due to the large amount of data that need to be processed on-line. When the size of a 3D virtual world is larger than the available physical memory of a display client, we need to proactively maintain useful data in the memory for immediate or future graphics rendering. Traditional page-based data management scheme bec...
متن کاملSegmented Addressing Solves the Virtual Cache Synonym Problem
If one is interested solely in processor speed, one must use virtually-indexed caches. The traditional purported weakness of virtual caches is their inability to support shared memory. Many implementations of shared memory are at odds with virtual caches—ASID aliasing and virtual-address aliasing (techniques used to provide shared memory) can cause false cache misses and/or give rise to data in...
متن کاملMemory Management in Symunix II: A Design for Large-Scale Shared Memory Multiprocessors†
While various vendors and independent research groups have adapted UNIX and other operating systems for multiprocessor architectures, relatively little work has been done in anticipation of the software requirements of very large-scale shared memory machines containing thousands of processors. Programming environments for these machines must exploit multi-level memory and cache hierarchies so a...
متن کاملASLR on the Line: Practical Cache Attacks on the MMU
Address space layout randomization (ASLR) is an important first line of defense against memory corruption attacks and a building block for many modern countermeasures. Existing attacks against ASLR rely on software vulnerabilities and/or on repeated (and detectable) memory probing. In this paper, we show that neither is a hard requirement and that ASLR is fundamentally insecure on modern cacheb...
متن کاملUsing Shadow Page Cache to Improve Isolated Drivers Performance
With the advantage of the reusability property of the virtualization technology, users can reuse various types and versions of existing operating systems and drivers in a virtual machine, so as to customize their application environment. In order to prevent users' virtualization environments being impacted by driver faults in virtual machine, Chariot examines the correctness of driver's write o...
متن کامل